home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / mui / mcc-install / docs / english / mcc-install_dev.doc next >
Text File  |  1999-11-29  |  27KB  |  1,385 lines

  1.  
  2.                       Table of Contents
  3.  
  4.  Custom functions    - Custom functions
  5.  Internal functions  - Script internal functions
  6.  Internal variables  - Script internal variables
  7.  Useful text strings - Strings that might be useful for custom functions
  8.  
  9.  
  10.  
  11.  
  12. Custom functions
  13. ----------------
  14.  
  15.  P_CustomExists    - Custom procedure to check existens
  16.  P_CustomInstall   - Custom procedure for install
  17.  P_CustomUninstall - Custom procedure for uninstall
  18.  
  19.  
  20.  
  21.  
  22.  
  23. P_CustomExists
  24. ==============
  25.  
  26. Available variables
  27. -------------------
  28.  
  29. (See MCC-Install main)
  30.  
  31. #copyright
  32. #min_os_version
  33. #min_os_revision
  34. #min_mui_version
  35. #min_mui_revision
  36. #language_mcc
  37. #language_mcp
  38. #prop
  39. #language_default
  40. various language strings
  41.  
  42. (other)
  43. #os_ver        (See P_GetOsVersion)
  44. #os_rev
  45. #os_str
  46. #mui_ver    (See P_GetMUIVerison)
  47. #mui_rev
  48. #mui_str
  49. #src-dir    (directory of the archiv)
  50. #dest-dir    (where MUI is installed)
  51. #dir        (same as #dest-dir)
  52.  
  53. All P_CheckExists variables for things that are already installed(!)
  54.  
  55. (Installer internals)
  56.  
  57. (to be used as temps)
  58. #i
  59.  
  60. Function
  61. --------
  62.  
  63. Should initialize custom chk_ and old_ variables for things that exists within
  64. the archiv/mui installation - if required by P_CustomInstall, P_CustomUninstall
  65.  
  66. Problems
  67. --------
  68.  
  69. Maybe P_CustomExists should be called twice in the same way as P_CheckExists.
  70. The Problem is, that there is no way to copy chk_ to old_ after calling it the
  71. first time - so P_CustomExists has to work with #src-dir and #dest-dir instead
  72. of #dir
  73.  
  74.  
  75.  
  76.  
  77.  
  78. P_CustomInstall
  79. ===============
  80.  
  81. Available variables
  82. -------------------
  83.  
  84. chk_ = within the archiv
  85. old_ = already installed
  86.  
  87. #update            (0/1 new or already installed mcc)
  88. #src-dir        (directory structur of the archiv)
  89. #dest-dir        (directory structur of MUI)
  90. #abstract        (0/1 abstract mcc)
  91. #install_mcc_catalogs    (MCC catalogs to install)
  92. #install_mcp_catalogs    (MCP catalogs to install)
  93. #install_docs        (Doc. types to install)
  94. #install_asciidocs    (ASCII docs to install)
  95. #install_agdocs        (AmigaGuide docs to install)
  96. #install_htmldocs    (HTML docs to install)
  97. #install_demo        (0/1 install demo)
  98. #install_proglang    (Programming languages to install)
  99. #install_source        (0/1 install source code)
  100. #install_images        (0/1 install images)
  101.  
  102. #os_ver            (OS Version number)
  103. #os_rev            (OS revision number)
  104. #os_str            (OS Release string)
  105. #mui_ver        (MUI Version number)
  106. #mui_rev        (MUI Revision number)
  107. #mui_str        (MUI Release version string)
  108.  
  109. #cpu             (cpu bitmask)
  110. #cpu_str        (cpu name as string)
  111. #mcc_cpu_file_extension    (Mcc file extension for choosed CPU)
  112. #mcp_cpu_file_extension    (Mcp file extension for choosed CPU)
  113.  
  114. #mcc_cpus        (available mcc/cpu bitmask)
  115. #mcp_cpus        (available mcp/cpu bitmask)
  116. #mcc_fpus        (available mcc/fpu bitmask)
  117. #mcp_fpus        (available mcp/fpu bitmask)
  118. #mcc_cpu_counter    (number of available mcc cpu's)
  119. #mcp_cpu_counter    (number of available mcp cpu's)
  120.  
  121. #chk_mcp        (0/1 custom class exists)
  122. #chk_demo        (0/1 demo exists)
  123. #chk_mcc_catalogs    (language bitmask for mcc catalogs)
  124. #chk_mcp_catalogs    (language bitmask for mcp catalogs)
  125. #chk_docs        (bitmask for available doc types)
  126. #chk_asciidocs        (language bitmask for ASCII docs)
  127. #chk_agdocs        (language bitmask for AmigaGuide docs)
  128. #chk_htmldocs        (language bitmask for HTML docs)
  129. #chk_proglang        (bitmask for completly available programming languages)
  130. #chk_progdirs        (bitmask for available programming lanuages directories)
  131. #chk_autodoc         (0/1 Autodocs available)
  132. #chk_source        (0/1 class source code available)
  133. #chk_images        (0/1 Images available)
  134. #chk_existsmask        (bitmask for existing parts)
  135.  
  136. #old_mcp        (0/1 mcp exists)
  137. #old_demo        (0/1 demo exists)
  138. #old_mcc_catalogs    (language bitmask for mcc catalogs)
  139. #old_mcp_catalogs    (language bitmask for mcp catalogs)
  140. #old_docs        (bitmask for available doc types)
  141. #old_asciidocs        (language bitmask for ASCII docs)
  142. #old_agdocs        (language bitmask for AmigaGuide docs)
  143. #old_proglang        (bitmask for completly available programming languages)
  144. #old_progdirs        (bitmask for available programming lanuages directories)
  145. #old_autodoc         (0/1 Autodocs available)
  146.  
  147. Temporary variables you should use:
  148.  
  149. #prompt            (various prompt texts)
  150. #defaultmask        (various default values)
  151. #langmask        (various language masks)
  152. #infos            (0/1 copy .info files)
  153. #dir            (various dirs)
  154. #file            (various files)
  155. #pattern        (0/1 copy pattern)
  156.  
  157.  
  158. Function
  159. --------
  160.  
  161. Installs additional parts, that are not covered in the regular MCC-Install
  162. process.
  163.  
  164.  
  165.  
  166.  
  167.  
  168. P_CustomUninstall
  169. =================
  170.  
  171. Available variables
  172. -------------------
  173.  
  174. #dest-dir            (directory structur where MUI ist installed)
  175. #all                 (Uninstall all parts?)
  176. #parts                (see P_AskParts)
  177. #uninstall_mcc_catalogs        (MCC catalogs to uninstalled)
  178. #uninstall_mcp_catalogs        (MCP catalogs to uninstalled)
  179. #uninstall_asciidocs         (ASCII docs to uninstall)
  180. #uninstall_agdocs        (AmigaGuide docs to uninstall)
  181. #uninstall_htmldocs        (HTML docs to uninstall)
  182. #uninstall_proglang        (Programming languages to uninstall)
  183. #old_mcc            (0/1 custom class exists)
  184. #old_mcp            (0/1 mcp exists)
  185. #old_demo            (0/1 demo exists)
  186. #old_mcc_catalogs        (language bitmask for mcc catalogs)
  187. #old_mcp_catalogs        (language bitmask for mcp catalogs)
  188. #old_catalogs            (language bitmask #chk_mcc_catalogs OR
  189.                                  #chk_mcp_catalogs)
  190. #old_docs            (bitmask for available doc types)
  191. #old_asciidocs            (language bitmask for ASCII docs)
  192. #old_htmldocs            (language bitmask for HTML docs)
  193. #old_agdocs            (language bitmask for AmigaGuide docs)
  194. #old_proglang            (bitmask for completly available programming
  195.                                  languages)
  196. #old_autodoc             (0/1 Autodocs available)
  197. #old_c_h            (0/1 C header file available)
  198. #old_c_example            (0/1 C example available)
  199. #old_asm_i            (0/1 Assember inlcude file available)
  200. #old_asm_example        (0/1 Assember example available)
  201. #old_e_e            (0/1 Amiga E modul available)
  202. #old_e_example            (0/1 Amiga E example available)
  203. #old_modula_def            (0/1 Modula-2 Def available)
  204. #old_modula_mod            (0/1 Modula-2 Mod available)
  205. #old_modula_demo        (0/1 Modula-2 Demo available)
  206. #old_oberon_mod            (0/1 Oberon Mod available)
  207. #old_oberon_example        (0/1 Oberon example available)
  208. #old_rexx            (0/1 ARexx include available)
  209. #old_rexx_example        (0/1 ARexx example available)
  210. #old_cluster_def        (0/1 Cluster Def available)
  211. #old_cluster_mod        (0/1 Cluster Mod available)
  212. #old_cluster_demo        (0/1 Cluster example available)
  213. #old_bb2            (0/1 Blitz Basic 2 include available)
  214. #old_bb2_example        (0/1 Blitz basic 2 example available)
  215. #old_muibuilder3        (0/1 MUIBuilder 3 definition available)
  216. #old_muibuilder3_behaviour    (0/1 MUIBuilder 3 behaviour available)
  217. #old_source            (0/1 class source code available)
  218. #old_existsmask            (bitmask for existing parts)
  219.  
  220. Temporary variables you should use:
  221.  
  222. #prompt            (for prompts)
  223. #defaultmask         (for defaultmasks)
  224. #langmask        (for language masks)
  225.  
  226. Function
  227. --------
  228.  
  229. Uninstalls additional parts, that are not covered in the regular MCC-Install
  230. process.
  231.  
  232.  
  233.  
  234.  
  235.  
  236. Script internal functions
  237. -------------------------
  238.  
  239.  P_BitToLanguage      - Language bitmap to language string
  240.  P_GetVersion         - Get version for a file
  241.  P_CompareVersions    - Compare two versions
  242.  P_GetOSVersionStr    - Get OS version string
  243.  P_GetOSVersion       - Get OS version
  244.  P_GetCPUFPU          - Get available cpu/fpu
  245.  P_AskLanguages       - Ask user for languages
  246.  P_AskDocFormats      - Ask user for document formats
  247.  P_AskProgLangs       - Ask user for programming languages
  248.  P_DelEmptyDir        - Delete empty directory
  249.  P_DelDirRecursive    - Delete a directory recursiv
  250.  P_DeleteLanguages    - Delete languages directories
  251.  P_MkDirInfo          - Create new direktory
  252.  P_CpFile             - Copy file
  253.  P_GetMuiVersionStr   - Get MUI version string
  254.  P_GetMUIVersion      - Get MUI version
  255.  P_AskCPUFPU          - Ask user for cpu/fpu
  256.  P_AskParts           - Ask user for parts
  257.  P_CheckAvailableCPUs - Check available cpu binaries
  258.  P_CheckExists        - Check for existing parts
  259.  P_Install            - Install mcc
  260.  P_Uninstall          - Uninstall mcc
  261.  MCC-Install main     - MCC-Install main part
  262.  
  263.  
  264.  
  265.  
  266.  
  267. P_BitToLanguage
  268. ===============
  269.  
  270. Parameter
  271. ---------
  272.  
  273. #langmask    (bitmask see variables)
  274.  
  275.  
  276. Temps
  277. -----
  278.  
  279. #i        (counter)
  280. #bitmask    (working copy of #langmask)
  281.  
  282.  
  283. Results
  284. -------
  285.  
  286. #langmask    (mask without choosed language)
  287. #lang        (language name string)
  288.  
  289.  
  290. Function
  291. --------
  292.  
  293. Returns the next language name string from #langmask - and removes this
  294. language from #langmask (for looping through all langs)
  295.  
  296.  
  297.  
  298.  
  299.  
  300. P_GetVersion
  301. ============
  302.  
  303. Parameter
  304. ---------
  305.  
  306. #file    (Filename for which you want to know the version)
  307.  
  308.  
  309. Temps
  310. -----
  311.  
  312. #vernum    (Installer version/revision-num format)
  313.  
  314.  
  315. Results
  316. -------
  317.  
  318. #ver     (Version)
  319. #rev     (Revision)
  320.  
  321. Function
  322. --------
  323.  
  324. Returns the version and revision for a file
  325.  
  326.  
  327.  
  328.  
  329.  
  330. P_CompareVersions
  331. =================
  332.  
  333. Parameter
  334. ---------
  335.  
  336. #ver     (First version number)
  337. #rev     (First revision number)
  338. #ver2    (Second version number)
  339. #rev2    (Second revision number)
  340.  
  341.  
  342. Temps
  343. -----
  344.  
  345.  
  346. Results
  347. -------
  348.  
  349. #result
  350.     -1 : #ver.#rev < #ver2.#rev2
  351.      0 : #ver.#rev = #ver2.#rev2
  352.      1 : #ver.#rev > #ver2.#rev2
  353.  
  354.  
  355. Function
  356. --------
  357.  
  358. Compares two version/revision pairs
  359.  
  360.  
  361.  
  362.  
  363.  
  364. P_GetOSVersionStr
  365. =================
  366.  
  367. Parameter
  368. ---------
  369.  
  370. #ver     (OS Version number (30-40)
  371. #rev     (OS Revision Number [currently unused])
  372.  
  373.  
  374. Temps
  375. -----
  376.  
  377. #i    (counter)
  378.  
  379.  
  380. Results
  381. -------
  382.  
  383. #str     (OS Version String)
  384.  
  385.  
  386. Function
  387. --------
  388.  
  389. Returns the OS Release name string from the OS version number
  390.  
  391.  
  392.  
  393.  
  394.  
  395. P_GetOSVersion
  396. ==============
  397.  
  398. Parameter
  399. ---------
  400.  
  401.  
  402. Temps
  403. -----
  404.  
  405. #file    ("libs:version.library")
  406. #ver     (see Used Funcs)
  407. #rev     (see Used Funcs)
  408. #vernum    (see Used Funcs)
  409. #i    (see Used Funcs)
  410. #str     (see Used Funcs)
  411.  
  412.  
  413. Results
  414. -------
  415.  
  416. #os_ver    (OS Version number)
  417. #os_rev    (OS revision number)
  418. #os_str    (OS Release string)
  419.  
  420.  
  421. Function
  422. --------
  423.  
  424. Returns the OS version/revision number and the release string
  425.  
  426.  
  427. Used Functions
  428. --------------
  429.  
  430. P_GetVersion, P_GetOSVersionStr
  431.  
  432.  
  433.  
  434.  
  435.  
  436. P_GetCPUFPU
  437. ===========
  438.  
  439. Parameter
  440. ---------
  441.  
  442.  
  443. Temps
  444. -----
  445.  
  446.  
  447. Results
  448. -------
  449.  
  450. #cpu         (available CPU)
  451.         -1 = unknown
  452.          0 = 68000
  453.          1 = 68010
  454.          2 = 68020
  455.          3 = 68030
  456.          4 = 68040
  457.          5 = 68060
  458. #cpu_str    (available CPU as string: 68000,68010,68020,68030,68040,68060)
  459. #fpu         (available FPU)
  460.         -1 = unknown
  461.          0 = NOFPU
  462.          1 = 68881
  463.          2 = 68882
  464.          3 = FPU40
  465. #fpu_str    (available FPU as string: NOFPU,68881,68882,FPU40)
  466.  
  467.  
  468. Function
  469. --------
  470.  
  471. Returns the available CPU on the current system
  472.  
  473.  
  474.  
  475.  
  476.  
  477. P_AskLanguages
  478. ==============
  479.  
  480. Parameter
  481. ---------
  482.  
  483. #prompt        (Prompt to display i.e.: choose languages for catalogs)
  484. #langmask    (Language mask of available languages [see Variables])
  485. #defaultmask    (Default language mask [pre selected languages])
  486.  
  487.  
  488. Temps
  489. -----
  490.  
  491. #bitmask    (working copy of #langmask)
  492.  
  493.  
  494. Results
  495. -------
  496.  
  497. #langmask    (Mask of selected languages [see Variables])
  498.  
  499.  
  500. Function
  501. --------
  502.  
  503. Ask the user to select languages
  504.  
  505.  
  506.  
  507.  
  508.  
  509. P_AskDocFormats
  510. ===============
  511.  
  512. Parameter
  513. ---------
  514.  
  515. #prompt        (Prompt text i.e. which type of doc should be installed)
  516. #docmask    (Available doc formats bitmask)
  517. #defaultmask    (Preselected formats)
  518.  
  519.  
  520. Temps
  521. -----
  522.  
  523. #bitmask    (working copy of #docmask)
  524.  
  525.  
  526. Results
  527. -------
  528.  
  529. #docmask    (Formats the user has choosen)
  530.  
  531.  
  532. Function
  533. --------
  534.  
  535. Ask the user for the doc-type to install (ACSII, AmigaGuide, HTML)
  536.  
  537.  
  538.  
  539.  
  540.  
  541. P_AskProgLangs
  542. ==============
  543.  
  544. Parameter
  545. ---------
  546.  
  547. #prompt        (Prompt to ask the user)
  548. #plangmask    (Available programming languages)
  549. #defaultmask    (Pre selected programming languages)
  550.  
  551.  
  552. Temps
  553. -----
  554.  
  555. #bitmask    (Working copy of #plangmask)
  556.  
  557.  
  558. Results
  559. -------
  560.  
  561. #plangmask    (User selected programming languages)
  562.  
  563.  
  564. Function
  565. --------
  566.  
  567. Ask the user/developer for a programming language
  568.  
  569.  
  570.  
  571.  
  572.  
  573. P_DelEmptyDir
  574. =============
  575.  
  576. Parameter
  577. ---------
  578.  
  579. #dir     (Directory to delete)
  580.  
  581.  
  582. Temps
  583. -----
  584.  
  585. #i    (counter / number of deleted directories)
  586.  
  587.  
  588. Results
  589. -------
  590.  
  591.  
  592. Function
  593. --------
  594.  
  595. Deletes only empty directories including their icons
  596.  
  597.  
  598.  
  599.  
  600.  
  601. P_DelDirRecursive
  602. =================
  603.  
  604. Parameter
  605. ---------
  606.  
  607. #dir     (Directory to delete)
  608.  
  609.  
  610. Temps
  611. -----
  612.  
  613.  
  614. Results
  615. -------
  616.  
  617.  
  618. Function
  619. --------
  620.  
  621. Deletes a directory recursivly incluing icons
  622.  
  623.  
  624. Used Functions
  625. --------------
  626.  
  627. P_DelDirRecursive
  628.  
  629.  
  630.  
  631.  
  632.  
  633. P_DeleteLanguages
  634. =================
  635.  
  636. Parameter
  637. ---------
  638.  
  639. #dir         (directory which contains language dirs)
  640. #file        (file to delete from languages dir)
  641. #langmask    (languages mask for which #file should be deleted)
  642.  
  643.  
  644. Temps
  645. -----
  646.  
  647. #i        (counter)
  648. #lang        (temp language name string)
  649.  
  650.  
  651. Results
  652. -------
  653.  
  654. #langmask    (empty langmask)
  655.  
  656.  
  657. Function
  658. --------
  659.  
  660. Deletes a (catalog) file from all selected language directories
  661.  
  662.  
  663. Used Functions
  664. --------------
  665.  
  666. P_BitToLanguage
  667.  
  668.  
  669.  
  670.  
  671.  
  672. P_MkDirInfo
  673. ===========
  674.  
  675. Parameter
  676. ---------
  677.  
  678. #dir         (dir name to create)
  679. #infos        (create icon file [0/1])
  680. #dest-dir    (already existing path within which #dir should be created)
  681.  
  682.  
  683. Temps
  684. -----
  685.  
  686.  
  687. Results
  688. -------
  689.  
  690.  
  691. Function
  692. --------
  693.  
  694. Creates a new directory including icon file if required
  695.  
  696.  
  697.  
  698.  
  699.  
  700. P_CpFile
  701. ========
  702.  
  703. Parameter
  704. ---------
  705.  
  706. #dir         (directory to copy)
  707. #file        (filepattern for copyoperation)
  708. #infos        (copy icons [0/1])
  709. #dest-dir    (destination directory)
  710. #src-dir    (directory with sources)
  711. #pattern    (copy single file or filepattern [0/1])
  712.  
  713.  
  714. Temps
  715. -----
  716.  
  717.  
  718. Results
  719. -------
  720.  
  721.  
  722. Function
  723. --------
  724.  
  725. Copies a single file or multiple via patterns including icons if required
  726.  
  727.  
  728.  
  729.  
  730.  
  731. P_GetMuiVersionStr
  732. ==================
  733.  
  734. Parameter
  735. ---------
  736.  
  737. #ver     (MUI Version number [i.e. 38])
  738. #rev     (MUI Revision number)
  739.  
  740.  
  741. Temps
  742. -----
  743.  
  744. #i    (counter)
  745.  
  746.  
  747. Results
  748. -------
  749.  
  750. #str     (MUI release version string [i.e. "3.8"])
  751.  
  752.  
  753. Function
  754. --------
  755.  
  756. Returns the MUI release version string from the library version number
  757.  
  758.  
  759.  
  760.  
  761.  
  762. P_GetMUIVersion
  763. ===============
  764.  
  765. Parameter
  766. ---------
  767.  
  768.  
  769. Temps
  770. -----
  771.  
  772. #file        (MUI library/preferences filename)
  773. #ver         (MUI version num)
  774. #rev         (MUI revision num)
  775. #vernum        (MUI version (installer format))
  776. #i        (counter)
  777.  
  778.  
  779. Results
  780. -------
  781.  
  782. #mui_ver    (MUI Version number)
  783. #mui_rev    (MUI Revision number)
  784. #mui_str    (MUI Release version string)
  785.  
  786.  
  787. Function
  788. --------
  789.  
  790. Returns the MUI Version/revision number as well as the release string
  791.  
  792.  
  793.  
  794.  
  795.  
  796. P_AskCPUFPU
  797. ===========
  798.  
  799. Parameter
  800. ---------
  801.  
  802. #src-dir        (directory with MUI files)
  803.  
  804.  
  805. Temps
  806. -----
  807.  
  808. #i            (counter)
  809. #file            (see used funcs)
  810. #bitmask        (see used funcs)
  811. #filetype        (see used funcs)
  812. #f            (see used funcs)
  813. #mcc_cpus        (available binary versions)
  814. #mcp_cpus        (available binary versions)
  815. #mcc_fpus        (available binary versions)
  816. #mcp_fpus        (available binary versions)
  817. #dir             (directory for P_CheckAvailableCPUs)
  818. #defaultcpu        (best fit cpu)
  819. #mcc_cpu_counter    (number of available mcc cpu's)
  820. #mcp_cpu_counter    (number of available mcp cpu's)
  821. #fpu             (see used funcs)
  822. #fpu_str        (see used funcs)
  823. #cpu2            (next lower usable cpu)
  824. #fpu2            (next lower usable fpu)
  825.  
  826.  
  827. Results
  828. -------
  829.  
  830. #cpu             (cpu bitmask)
  831. #cpu_str        (cpu name as string)
  832. #mcc_cpu_file_extension    (Mcc file extension for choosed CPU)
  833. #mcp_cpu_file_extension    (Mcp file extension for choosed CPU)
  834. #src-dir        (directory with MUI files)
  835.  
  836.  
  837. Function
  838. --------
  839.  
  840. Let the user choose from available and usable cpu/fpu and return the best fit
  841. for mcp (if only a lower cpu is available)
  842.  
  843.  
  844. Used Functions
  845. --------------
  846.  
  847. P_CheckAvailableCPUs, P_GetCPUFPU
  848.  
  849.  
  850.  
  851.  
  852.  
  853. P_AskParts
  854. ==========
  855.  
  856. Parameter
  857. ---------
  858.  
  859. #prompt        (ask the user for install/deinstall/update)
  860. #defaultmask     (bitmask - see #parts variable - default selection)
  861. #existsmask    (bitmask - see #parts variable - existing things)
  862.  
  863.  
  864. Temps
  865. -----
  866.  
  867.  
  868. Results
  869. -------
  870.  
  871. #parts        (bitmask - see variables)
  872.  
  873.  
  874. Function
  875. --------
  876.  
  877. Ask the user for parts to install/deinstall parts (only available part)
  878.  
  879.  
  880.  
  881.  
  882.  
  883. P_CheckAvailableCPUs
  884. ====================
  885.  
  886. Parameter
  887. ---------
  888.  
  889. #dir             (directory with custom class)
  890.  
  891.  
  892. Temps
  893. -----
  894.  
  895. #i            (counter)
  896. #file            (temporary filename)
  897. #bitmask        (temp cpu/fpu bitmask)
  898. #filetype        (temp filetype)
  899. #f            (temp pattern match)
  900.  
  901.  
  902. Results
  903. -------
  904.  
  905. #mcc_cpus        (available mcc/cpu bitmask)
  906. #mcp_cpus        (available mcp/cpu bitmask)
  907. #mcc_fpus        (available mcc/fpu bitmask)
  908. #mcp_fpus        (available mcp/fpu bitmask)
  909. #mcc_cpu_counter    (number of available mcc cpu's)
  910. #mcp_cpu_counter    (number of available mcp cpu's)
  911.  
  912.  
  913. Function
  914. --------
  915.  
  916. Returns the available mcc/mcp cpu's/fpu's
  917.  
  918.  
  919.  
  920.  
  921.  
  922. P_CheckExists
  923. =============
  924.  
  925. Parameter
  926. ---------
  927.  
  928. #dir                 (directory structur to check [archiv/mui
  929.                                  installation])
  930.  
  931.  
  932. Temps
  933. -----
  934.  
  935. #i                (counter)
  936. #lang                (language name string)
  937.  
  938.  
  939. Results
  940. -------
  941.  
  942. #chk_mcc            (0/1 custom class exists)
  943. #chk_mcp            (0/1 mcp exists)
  944. #chk_demo            (0/1 demo exists)
  945. #chk_mcc_catalogs        (language bitmask for mcc catalogs)
  946. #chk_mcp_catalogs        (language bitmask for mcp catalogs)
  947. #chk_catalogs            (language bitmask #chk_mcc_catalogs OR
  948.                                  #chk_mcp_catalogs)
  949. #chk_agdocs            (language bitmask for AmigaGuide docs)
  950. #chk_asciidocs            (language bitmask for ASCII docs)
  951. #chk_htmldocs            (language bitmask for HTML docs)
  952. #chk_docs            (bitmask for available doc types)
  953. #chk_progdirs            (bitmask for available programming lanuages
  954.                                  directories)
  955. #chk_proglang            (bitmask for completly available programming
  956.                                  languages)
  957. #chk_autodoc             (0/1 Autodocs available)
  958. #chk_c_h            (0/1 C header file available)
  959. #chk_c_example            (0/1 C example available)
  960. #chk_asm_i            (0/1 Assember inlcude file available)
  961. #chk_asm_example        (0/1 Assember example available)
  962. #chk_e_e            (0/1 Amiga E modul available)
  963. #chk_e_example            (0/1 Amiga E example available)
  964. #chk_modula_def            (0/1 Modula-2 Def available)
  965. #chk_modula_mod            (0/1 Modula-2 Mod available)
  966. #chk_modula_demo        (0/1 Modula-2 Demo available)
  967. #chk_oberon_mod            (0/1 Oberon Mod available)
  968. #chk_oberon_example        (0/1 Oberon example available)
  969. #chk_rexx            (0/1 ARexx include available)
  970. #chk_rexx_example        (0/1 ARexx example available)
  971. #chk_cluster_def        (0/1 Cluster Def available)
  972. #chk_cluster_mod        (0/1 Cluster Mod available)
  973. #chk_cluster_demo        (0/1 Cluster example available)
  974. #chk_bb2            (0/1 Blitz Basic 2 include available)
  975. #chk_bb2_example        (0/1 Blitz basic 2 example available)
  976. #chk_muibuilder3        (0/1 MUIBuilder 3 definition available)
  977. #chk_muibuilder3_behaviour    (0/1 MUIBuilder 3 behaviour available)
  978. #chk_source            (0/1 class source code available)
  979. #chk_images            (0/1 Images available)
  980. #chk_existsmask            (bitmask for existing parts)
  981.  
  982.  
  983. Function
  984. --------
  985.  
  986. Check for existing files within archiv or mui installation
  987.  
  988.  
  989.  
  990.  
  991.  
  992. P_Install
  993. =========
  994.  
  995. Parameter
  996. ---------
  997.  
  998. chk_ = within the archiv
  999. old_ = already installed
  1000.  
  1001.  
  1002. #chk_mcp        (0/1 custom class exists)
  1003. #chk_demo        (0/1 demo exists)
  1004. #chk_mcc_catalogs    (language bitmask for mcc catalogs)
  1005. #chk_mcp_catalogs    (language bitmask for mcp catalogs)
  1006. #chk_docs        (bitmask for available doc types)
  1007. #chk_asciidocs        (language bitmask for ASCII docs)
  1008. #chk_agdocs        (language bitmask for AmigaGuide docs)
  1009. #chk_htmldocs        (language bitmask for HTML docs)
  1010. #chk_proglang        (bitmask for completly available programming languages)
  1011. #chk_progdirs        (bitmask for available programming lanuages directories)
  1012. #chk_autodoc         (0/1 Autodocs available)
  1013. #chk_source        (0/1 class source code available)
  1014. #chk_images        (0/1 Images available)
  1015. #chk_existsmask        (bitmask for existing parts)
  1016. #old_mcp        (0/1 mcp exists)
  1017. #old_demo        (0/1 demo exists)
  1018. #old_mcc_catalogs    (language bitmask for mcc catalogs)
  1019. #old_mcp_catalogs    (language bitmask for mcp catalogs)
  1020. #old_docs        (bitmask for available doc types)
  1021. #old_asciidocs        (language bitmask for ASCII docs)
  1022. #old_agdocs        (language bitmask for AmigaGuide docs)
  1023. #old_proglang        (bitmask for completly available programming languages)
  1024. #old_progdirs        (bitmask for available programming lanuages directories)
  1025. #old_autodoc         (0/1 Autodocs available)
  1026. #update            (0/1 new or already installed mcc)
  1027. #src-dir        (directory structur of the archiv)
  1028. #dest-dir        (directory structur of MUI)
  1029. #abstract        (0/1 abstract mcc)
  1030.  
  1031.  
  1032. Temps
  1033. -----
  1034.  
  1035. #prompt            (various prompt texts)
  1036. #existsmask        (bitmask for already existing parts)
  1037. #defaultmask        (various default values)
  1038. #langmask        (various language masks)
  1039. #docmask        (Document types)
  1040. #infos            (0/1 copy .info files)
  1041. #dir            (various dirs)
  1042. #file            (various files)
  1043. #pattern        (0/1 copy pattern)
  1044. #mcc_cpu_counter    (Nr. of available mcc CPUs)
  1045. #install_mcc_catalogs    (MCC catalogs to install)
  1046. #install_mcp_catalogs    (MCP catalogs to install)
  1047. #install_docs        (Doc. types to install)
  1048. #install_asciidocs    (ASCII docs to install)
  1049. #install_agdocs        (AmigaGuide docs to install)
  1050. #install_htmldocs    (HTML docs to install)
  1051. #install_demo        (0/1 install demo)
  1052. #install_proglang    (Programming languages to install)
  1053. #install_source        (0/1 install source code)
  1054. #install_images        (0/1 install images)
  1055.  
  1056.  
  1057. Results
  1058. -------
  1059.  
  1060.  
  1061. Function
  1062. --------
  1063.  
  1064. Installs/Updates the MCC or parts of it
  1065.  
  1066.  
  1067. Used Functions
  1068. --------------
  1069.  
  1070. P_AskParts, P_AskCPUFPU, P_AskLanguages, P_AskDocFormats, P_AskProgLangs,
  1071. P_MkDirInfo, P_BitToLanguage, P_CpFile, P_CustomInstall
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077. P_Uninstall
  1078. ===========
  1079.  
  1080. Parameter
  1081. ---------
  1082.  
  1083. #dest-dir            (directory structur where MUI ist installed)
  1084. #old_mcc            (0/1 custom class exists)
  1085. #old_mcp            (0/1 mcp exists)
  1086. #old_demo            (0/1 demo exists)
  1087. #old_mcc_catalogs        (language bitmask for mcc catalogs)
  1088. #old_mcp_catalogs        (language bitmask for mcp catalogs)
  1089. #old_catalogs            (language bitmask #chk_mcc_catalogs OR
  1090.                                  #chk_mcp_catalogs)
  1091. #old_docs            (bitmask for available doc types)
  1092. #old_asciidocs            (language bitmask for ASCII docs)
  1093. #old_htmldocs            (language bitmask for HTML docs)
  1094. #old_agdocs            (language bitmask for AmigaGuide docs)
  1095. #old_proglang            (bitmask for completly available programming
  1096.                                  languages)
  1097. #old_autodoc             (0/1 Autodocs available)
  1098. #old_c_h            (0/1 C header file available)
  1099. #old_c_example            (0/1 C example available)
  1100. #old_asm_i            (0/1 Assember inlcude file available)
  1101. #old_asm_example        (0/1 Assember example available)
  1102. #old_e_e            (0/1 Amiga E modul available)
  1103. #old_e_example            (0/1 Amiga E example available)
  1104. #old_modula_def            (0/1 Modula-2 Def available)
  1105. #old_modula_mod            (0/1 Modula-2 Mod available)
  1106. #old_modula_demo        (0/1 Modula-2 Demo available)
  1107. #old_oberon_mod            (0/1 Oberon Mod available)
  1108. #old_oberon_example        (0/1 Oberon example available)
  1109. #old_rexx            (0/1 ARexx include available)
  1110. #old_rexx_example        (0/1 ARexx example available)
  1111. #old_cluster_def        (0/1 Cluster Def available)
  1112. #old_cluster_mod        (0/1 Cluster Mod available)
  1113. #old_cluster_demo        (0/1 Cluster example available)
  1114. #old_bb2            (0/1 Blitz Basic 2 include available)
  1115. #old_bb2_example        (0/1 Blitz basic 2 example available)
  1116. #old_muibuilder3        (0/1 MUIBuilder 3 definition available)
  1117. #old_muibuilder3_behaviour    (0/1 MUIBuilder 3 behaviour available)
  1118. #old_source            (0/1 class source code available)
  1119. #old_existsmask            (bitmask for existing parts)
  1120.  
  1121.  
  1122. Temps
  1123. -----
  1124.  
  1125. #existsmask            (bitmask for existing parts)
  1126. #all                 (Uninstall all parts?)
  1127. #prompt                (see P_AskParts, P_AskLanguages,
  1128.                                  P_AskDocFormats, P_AskProgLangs)
  1129. #defaultmask             (see P_AskParts, P_AskLanguages,
  1130.                                  P_AskDocFormats, P_AskProgLangs)
  1131. #parts                (see P_AskParts)
  1132. #langmask            (see P_AskLanguages)
  1133. #uninstall_mcc_catalogs        (MCC catalogs to uninstalled)
  1134. #uninstall_mcp_catalogs        (MCP catalogs to uninstalled)
  1135. #docmask            (see P_AskDocFormats)
  1136. #uninstall_asciidocs         (ASCII docs to uninstall)
  1137. #uninstall_agdocs        (AmigaGuide docs to uninstall)
  1138. #uninstall_htmldocs        (HTML docs to uninstall)
  1139. #plangmask            (see P_AskProgLangs)
  1140. #uninstall_proglang        (Programming languages to uninstall)
  1141.  
  1142.  
  1143. Results
  1144. -------
  1145.  
  1146.  
  1147. Function
  1148. --------
  1149.  
  1150. Uninstalls the MCC or parts of it
  1151.  
  1152.  
  1153. Used Functions
  1154. --------------
  1155.  
  1156. P_AskParts, P_AskLanguages, P_AskDocFormats, P_AskProgLangs, P_DeleteLanguages,
  1157. P_BitToLanguage, P_DelEmptyDir, P_DelDirRecursive, P_CustomUninstall
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163. MCC-Install main
  1164. ================
  1165.  
  1166. Parameter
  1167. ---------
  1168.  
  1169. #copyright        (copyright for the mcc)
  1170. #min_os_version        (minimum required OS version)
  1171. #min_os_revision    (minimum required OS revision)
  1172. #min_mui_version    (minimum required MUI version)
  1173. #min_mui_revision    (minimum required MUI revision)
  1174. #language_mcc        (mcc buildin languages)
  1175. #language_mcp        (mcp buildin languages)
  1176.  
  1177.  
  1178. Temps
  1179. -----
  1180.  
  1181. #prop            (Use proportinal font with newer installer)
  1182. #i            (counter)
  1183. #language        (language name string of user environment)
  1184. #language_default    (language bitmask of user envirnment)
  1185. #abstract        (0/1 abstract mcc)
  1186. #update            (0/1 new or already installed)
  1187.  
  1188. Various installation strings for user prompting.
  1189. All variables from P_CheckExists prefixed with old_ instead of chk_ :
  1190. old_ already installed, chk_ available within the archiv.
  1191. See above functions
  1192.  
  1193.  
  1194. Results
  1195. -------
  1196.  
  1197.  
  1198. Function
  1199. --------
  1200.  
  1201. Installs/uninstalls MUI custom classes
  1202.  
  1203.  
  1204. Used Functions
  1205. --------------
  1206.  
  1207. P_GetOSVersion, P_CompareVersions, P_GetMUIVersion, P_GetMUIVersionStr,
  1208. P_CheckExists, P_CustomExists, P_GetVersion, P_Install, P_Uninstall
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214. Script internal variables
  1215. -------------------------
  1216.  
  1217.  " #languages          " - Bitmask for languages
  1218.  " #cpu                " - Bitmask for cpus
  1219.  " #fpu                " - Bitmask for fpus
  1220.  " #docmask            " - Bitmask for document types
  1221.  " #plangmask          " - Bitmask for programming languages
  1222.  " #cpu_file_extension " - MCC/MCP cpu file extension string
  1223.  " #parts              " - Bitmask for archiv parts
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229. all #languages masks
  1230. --------------------
  1231.  
  1232. Bit   0 = English
  1233. Bit   1 = German
  1234. Bit   2 = French
  1235. Bit   3 = Spanish
  1236. Bit   4 = Portuguese (European)
  1237. Bit   5 = Danish
  1238. Bit   6 = Italian
  1239. Bit   7 = Dutch
  1240. Bit   8 = Norwegian
  1241. Bit   9 = Swedish
  1242. Bit  10 = Polish
  1243. Bit  11 = Finnish
  1244. Bit  12 = Hungarian
  1245. Bit  13 = Greek
  1246. Bit  14 = Esperanto
  1247. Bit  15 = Turkish
  1248. Bit  16 = Latin
  1249. Bit  17 = Russian
  1250. Bit  18 = Czech
  1251. Bit  19 = Catalonian
  1252. Bit  20 = Croatian
  1253. Bit  21 = Serbian
  1254. Bit  22 = Slovak
  1255. Bit  23 = Slovenian
  1256. Bit  24 = Portuguese (Brazilian)
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262. #cpu
  1263. ----
  1264.  
  1265. -1 = unknown
  1266.  0 = 68000
  1267.  1 = 68010
  1268.  2 = 68020
  1269.  3 = 68030
  1270.  4 = 68040
  1271.  5 = 68060
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277. #fpu
  1278. ----
  1279.  
  1280. -1 = unknown
  1281.  0 = NOFPU
  1282.  1 = 68881
  1283.  2 = 68882
  1284.  3 = FPU40
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. #docmask
  1291. --------
  1292.  
  1293. Bit 0 = ASCII
  1294. Bit 1 = AmigaGuide
  1295. Bit 2 = HTML
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301. #plangmask
  1302. ----------
  1303.  
  1304. Bit 0 = C
  1305. Bit 1 = C++
  1306. Bit 2 = Assembler
  1307. Bit 3 = Amiga-E
  1308. Bit 4 = Modula-II
  1309. Bit 5 = Oberon
  1310. Bit 6 = ARexx
  1311. Bit 7 = Cluster
  1312. Bit 8 = Blitz Basic 2
  1313. Bit 9 = MUIBuilder3
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319. #mcc_cpu_file_extension / #mcp_cpu_file_extension
  1320. -------------------------------------------------
  1321.  
  1322. "" | "000"
  1323. "010"
  1324. "020"
  1325. "020f"
  1326. "030"
  1327. "030f"
  1328. "040"
  1329. "040f"
  1330. "060"
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336. #parts
  1337. ------
  1338.  
  1339. Bit 0 : MCP
  1340. Bit 1 : Catalogs
  1341. Bit 2 : Docs
  1342. Bit 3 : Demo
  1343. Bit 4 : Developer
  1344. Bit 5 : Source
  1345. Bit 6 : Images
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351. Useful text strings
  1352. -------------------
  1353.  
  1354. When using your own text strings, please localize them dependend on
  1355. #default_language - otherwise use english texts only.
  1356.  
  1357. #prompt_copy
  1358. "Do you want to copy the following file(s)?"
  1359.  
  1360. #prompt_makedir
  1361. "The following directory was not found, so it must be created:"
  1362.  
  1363. #button_abort
  1364. "Abort Uninstall"
  1365.  
  1366. #help_askoptions
  1367. "With an Installer prior to version 42.6 it can happen that you see
  1368. checkbox-buttons without labels. Selecting these buttons will be ignored.\n\n"
  1369.  
  1370. #help_askchoice
  1371. "With an Installer prior to version 42.6 it can happen that you see
  1372. radio-buttons without labels. Selecting these buttons will result in the next
  1373. lower available selection.\n\n"
  1374.  
  1375. #abort_nocpu
  1376. "Sorry, the script is unable to install " \@pp-name ".mcc, because your CPU
  1377. configuration is not supported.\n"
  1378.  
  1379. #prompt_uninstall_parts
  1380. "Which parts do you want to uninstall?\n"
  1381. \@pp-name ".mcp will uninstall relating catalogs too.\n"
  1382.  
  1383. #prompt_update
  1384. "Which parts of " \@pp-name ".mcc do you want to add to the installation?"
  1385.